Method for frame interpolation and related products

ABSTRACT

A method for frame interpolation and related products are provided. The method is applied to an electronic device including a camera. The method includes the following. On-screen display (OSD) data and first video data collected by the camera are obtained. Second video data is obtained by performing frame interpolation on the first video data. The second video data and the OSD data are displayed in a video window.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application is a continuation of International Application No.PCT/CN2021/070143, filed Jan. 4, 2021, which claims priority to ChinesePatent Application No. 202010065634.0, filed Jan. 20, 2020, the entiredisclosures of which are incorporated herein by reference.

TECHNICAL FIELD

This application relates to the field of electronic technology, andparticularly to a method for frame interpolation and related products.

BACKGROUND

With the popularization of electronic devices (e.g., mobile phones,tablet computers, etc.), the electronic device can support more and moreapplications and its functions are becoming more and more powerful. Theelectronic device is developing in a diversified and personalizeddirection and has become an indispensable electronic product in people'sdaily life.

At present, when a camera of the electronic device is turned on, a shotpicture of the camera, such as a preview picture or a live videopicture, will be displayed. When the camera moves with the electronicdevice, lagging may occur in pictures. Therefore, how to avoid laggingof the shot picture of the camera has become a problem to-be-solved.

SUMMARY

In a first aspect, implementations of the disclosure provide a methodfor frame interpolation. The method is applied to an electronic deviceincluding a camera. The method includes the following. On-screen display(OSD) data and first video data collected by the camera are obtained.Second video data is obtained by performing frame interpolation on thefirst video data. The second video data and the OSD data are displayedin a video window.

In a second aspect, implementations of the disclosure provide anelectronic device. The electronic device includes a camera, a displayscreen, and a chip for frame interpolation coupled with the camera andthe display screen. The chip for frame interpolation is configured to:obtain OSD data and first video data collected by the camera; obtainsecond video data by performing frame interpolation on the first videodata; and control the second video data and the OSD data to be displayedin a video window of the display screen.

In a third aspect, implementations of the disclosure provide anon-transitory computer-readable storage medium. The computer-readablestorage medium stores computer programs. The computer programs includeprogram instructions which, when executed by a processor, cause theprocessor to execute all or part of the operations of the method in thefirst aspect of implementations of the disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

In order to describe technical solutions of implementations of thedisclosure or the related art more clearly, the following will give abrief description of accompanying drawings used for describing theimplementations or the related art. Apparently, accompanying drawingsdescribed below illustrate merely some implementations. Those ofordinary skill in the art can also obtain other accompanying drawingsbased on these accompanying drawings without creative efforts.

FIG. 1A is a schematic structural diagram illustrating an electronicdevice provided in implementations of the disclosure.

FIG. 1B is a schematic flowchart illustrating a method for frameinterpolation provided in implementations of the disclosure.

FIG. 1C is a schematic flowchart illustrating obtaining of first videodata and on-screen display (OSD) data provided in implementations of thedisclosure.

FIG. 1D is a demonstration schematic diagram illustrating displaying ofsecond video data and OSD data provided in implementations of thedisclosure.

FIG. 2 is a schematic flowchart illustrating a method for frameinterpolation provided in implementations of the disclosure.

FIG. 3 is a schematic flowchart illustrating another method for frameinterpolation provided in implementations of the disclosure.

FIG. 4 is a schematic structural diagram illustrating another electronicdevice provided in implementations of the disclosure.

FIG. 5 is a block diagram illustrating functional units of a device forframe interpolation provided in implementations of the disclosure.

DETAILED DESCRIPTION

In order for those skilled in the art to better understand technicalsolutions of the disclosure, the technical solutions of implementationsof the disclosure will be described clearly and completely withreference to accompanying drawings of the implementations. Apparently,implementations described below are merely some implementations, ratherthan all implementations of the disclosure. All other implementationsobtained by those of ordinary skill in the art based on theseimplementations without creative efforts shall fall within theprotection scope of the disclosure.

The terms “first”, “second”, and the like used in the specification, theclaims, and the accompany drawings of the disclosure are used todistinguish different objects rather than describe a particular order.The terms “include”, “comprise”, and “have” as well as variationsthereof are intended to cover non-exclusive inclusion. For example, aprocess, method, system, product, or device including a series ofsteps/operations or units is not limited to the listed steps/operationsor units, on the contrary, it can optionally include othersteps/operations or units that are not listed; alternatively, othersteps/operations or units inherent to the process, method, product, ordevice can be included either.

The term “implementation” referred to herein means that particularfeatures, structures, or properties described in conjunction with theimplementations may be defined in at least one implementation of thedisclosure. The phrase “implementation” appearing in various places inthe specification does not necessarily refer to the same implementationor an independent/ alternative implementation that is mutually exclusivewith other implementations. Those skilled in the art will understandexpressly and implicitly that an implementation described herein may becombined with other implementations.

“Electronic device” in implementations of the disclosure may includevarious handheld devices with wireless communication functions (e.g.,smart phones, tablet computers, etc.), on-board devices (e.g.,navigators, on-board refrigerators, on-board vacuum cleaners, etc.),wearable devices (e.g., smart watches, smart bracelets, wirelessearphones, augmented reality (AR)/virtual reality (VR) devices, smartglasses, etc.), computing devices, or other processing devices connectedto a wireless modem, as well as various forms of user equipment (UE),mobile stations (MS), terminal devices, etc. For convenience ofdescription, the above-mentioned devices are collectively referred to aselectronic devices.

Hereinafter, implementations of the disclosure will be described indetail.

Implementations of the disclosure provide a method for frameinterpolation. The method is applied to an electronic device including acamera. The method includes the following. On-screen display (OSD) dataand first video data collected by the camera are obtained. Second videodata is obtained by performing frame interpolation on the first videodata. The second video data and the OSD data are displayed in a videowindow.

Implementations of the disclosure provide an electronic device. Theelectronic device includes a camera, a display screen, and a chip forframe interpolation coupled with the camera and the display screen. Thechip for frame interpolation is configured to: obtain OSD data and firstvideo data collected by the camera; obtain second video data byperforming frame interpolation on the first video data; and control thesecond video data and the OSD data to be displayed in a video window ofthe display screen.

Implementations of the disclosure provide a non-transitorycomputer-readable storage medium. The computer-readable storage mediumstores computer programs. The computer programs include programinstructions which, when executed by a processor, cause the processor toexecute all or part of the operations of the above method for frameinterpolation.

As illustrated in FIG. 1A, FIG. 1A is a schematic structural diagramillustrating an electronic device provided in implementations of thedisclosure. The electronic device includes a processor, a memory, asignal processor, a communication interface, a display screen, aspeaker, a microphone, a random access memory (RAM), a chip for frameinterpolation, a camera module, a sensor, and the like. The memory, thesignal processor, the display screen, the speaker, the microphone, theRAM, the camera module, the sensor, and the chip for frame interpolationare connected with the processor, and the communication interface isconnected with the signal processor.

The display screen may be a liquid crystal display (LCD), an organiclight-emitting diode (OLED) or an inorganic light-emitting diode, anactive matrix/organic light-emitting diode (AMOLED) panel, etc.

The camera module may include an ordinary camera, and may also includean infrared camera, which is not limited herein. The camera may be afront camera or a rear camera, which is not limited herein.

The sensor may include at least one of a light sensor, a gyroscope, aninfrared (IR) sensor, a fingerprint sensor, a pressure sensor, or thelike. The light sensor, also known as an ambient light sensor, isconfigured to detect brightness of ambient light. The light sensor mayinclude a photosensitive element and an analog-to-digital converter. Thephotosensitive element is configured to convert a collected opticalsignal into an electrical signal. The analog-to-digital converter isconfigured to convert the electrical signal into a digital signal.Optionally, the light sensor may further include a signal amplifier. Thesignal amplifier can amplify the electrical signal converted by thephotosensitive element and output it to the analog-to-digital converter.The photosensitive element may include at least one of a photodiode, aphototransistor, a photoresistor, or a silicon photocell.

The processor is a control center of the electronic device. Theprocessor uses various interfaces and lines to connect various parts ofthe whole electronic device. By running or executing software programsand/or modules stored in the memory and calling data stored in thememory, the processor can perform various functions of the electronicdevice and process data, so as to monitor the electronic device as awhole.

The processor may be integrated with an application processor (AP) and amodem processor. The application processor mainly handles with anoperating system, a user interface, and an application. The modemprocessor mainly handles with wireless communications. It can beunderstood that, the modem processor may not be integrated into theprocessor.

The processor may include a central processing unit (CPU) and a graphicsprocessing unit (GPU). The CPU is one of main devices of an electroniccomputer and a core accessory of the computer. The CPU is mainlyconfigured to parse computer instructions and process data of computersoftware. The CPU is a core component of the computer and is responsiblefor reading an instruction, decoding the read instruction, and executingthe decoded instruction. The CPU mainly includes two parts, that is, acontroller and an arithmetic unit, and also includes a cache memory anda data and/or control bus that realizes a connection with the cachememory. Three core components of the electronic computer are the CPU, amemory, and an input/output device. Functions of the CPU mainly includeprocessing an instruction, executing an operation, controlling time, andprocessing data. The GPU, also known as a display core, a visualprocessor, and a display chip, is a kind of microprocessor thatspecializes in image and graphics-related operations on a personalcomputer, a workstation, a game console, and some mobile devices (e.g.,tablet computers, smart phones). The GPU makes a graphics card lessdependent on the CPU, and can execute part of works originally executedby the CPU, especially in three-dimensional (3D) graphics processing.Core technologies used by the GPU may include hardware T&L (geometrytransform and lighting processing), cubic environment materiality mapand vertex blending, texture compression and bump map, dual texturefour-pixel 256-bit rendering engine, etc., and the hardware T&L can besaid to be iconic of GPU.

The memory is configured to store software programs and/or modules. Theprocessor executes various functional applications of the electronicdevice and processes data by running the software programs and/ormodules stored in the memory. The memory mainly includes a programstorage area and a data storage area. The program storage area may storethe operating system, software programs required by at least onefunction, and the like. The data storage area may store data createdaccording to the use of the electronic device, and the like. Inaddition, the memory may include a high-speed RAM, and may also includea non-transitory memory, such as at least one of a magnetic disk memorydevice, flash memory device, or other transitory solid-state memorydevices.

The chip for frame interpolation is configured to add one or more framesbetween every two frames of images (in the following, “frame” for short)of original displayed images, to shorten display time of each image,which can improve a frame rate of video display of the electronicdevice, solve problems of a video such as flickering and trailing,eliminate edge blurring of a fast-moving image, and correct “illusion”caused by persistence of human vision, thereby effectively improvingimage stability. The chip for frame interpolation may be a graphicscard, for example, an iris chip.

Based on the electronic device described above with reference to FIG.1A, the following functions can be realized. The chip for frameinterpolation is configured to: obtain on-screen display (OSD) data andfirst video data collected by the camera, when the camera is turned on;perform frame interpolation on the first video data to obtain secondvideo data; and control the second video data and the OSD data to bedisplayed in a video window of the display screen.

In a possible example, the chip for frame interpolation configured toobtain the OSD data and the first video data collected by the camera isspecifically configured to: obtain the first video data collected by thecamera through a first video data pipeline; and obtain the OSD datathrough a second video data pipeline.

In a possible example, the chip for frame interpolation configured toperform frame interpolation on the first video data to obtain the secondvideo data is configured to: perform frame interpolation on the firstvideo data to obtain the second video data, on condition that firstattribute information of the first video data satisfies a first presetcondition. The chip for frame interpolation configured to control thesecond video data and the OSD data to be displayed in the video windowof the display screen is configured to: control the second video dataand the OSD data to be displayed in the video window of the displayscreen, on condition that second attribute information of the OSD datasatisfies a second preset condition.

In a possible example, the first attribute information includes a firstlayer name and a first layer format, the second attribute informationincludes a second layer name and a second layer format. The chip forframe interpolation is further configured to: determine that the firstattribute information of the first video data satisfies the first presetcondition, on condition that the first layer name is a video layer orthe first layer format is a YUV format; and determine that the secondattribute information of the OSD data satisfies the second presetcondition, on condition that the second layer name is an OSD layer orthe second layer format is an RGB format.

In a possible example, the chip for frame interpolation configured toperform frame interpolation on the first video data to obtain the secondvideo data is specifically configured to: perform a motion vectorcomputation on the first video data to obtain a target vector; andperform frame interpolation on the first video data according to thetarget vector to obtain the second video data.

In a possible example, the chip for frame interpolation configured toperform the motion vector computation on the first video data to obtainthe target vector is specifically configured to: perform motiondetection on the first video data to obtain multiple motion detectionpoints; for each of the multiple motion detection points, obtain a pointmotion vector of the motion detection point, to obtain multiple pointmotion vectors; and determine any of the point motion vectors as thetarget vector, on condition that the multiple point motion vectors arethe same.

In a possible example, the chip for frame interpolation configured toperform frame interpolation on the first video data according to thetarget vector to obtain the second video data is specifically configuredto: determine a target video frame rate corresponding to a target videosegment to which any two adjacent video images in the first video databelongs; determine a target frame-interpolation quantity n correspondingto the target video frame rate according to a preset correspondencebetween video frame rates and frame-interpolation quantities, where n isa positive integer; perform motion compensation according to the targetvector to obtain n frame-interpolation images; and insert the nframe-interpolation images between the any two adjacent video images toobtain the second video data.

In a possible example, the chip for frame interpolation configured toperform frame interpolation on the first video data to obtain the secondvideo data is configured to: divide the first video data into multiplevideo segments; for each of the multiple video segments, determine avideo frame rate corresponding to the video segment, to obtain multiplevideo frame rates; and perform frame interpolation on the first videodata to obtain the second video data, on condition that a differencebetween a maximum video frame rate and a minimum video frame rate amongthe multiple video frame rates is smaller than a preset threshold.

In a possible example, the chip for frame interpolation configured toperform frame interpolation on the first video data to obtain the secondvideo data is configured to: detect existence of a pop-up box in thevideo window; and perform frame interpolation on the first video data toobtain the second video data, in response to absence of the pop-up boxin the video window.

In a possible example, the chip for frame interpolation configured toperform frame interpolation on the first video data to obtain the secondvideo data is configured to: divide the first video data into multiplevideo segments; for each of the multiple video segments, determine avideo frame rate corresponding to the video segment, to obtain multiplevideo frame rates; detect existence of a pop-up box in the video window,on condition that a difference between a maximum video frame rate and aminimum video frame rate among the multiple video frame rates is smallerthan a preset threshold; and perform frame interpolation on the firstvideo data to obtain the second video data, in response to absence ofthe pop-up box in the video window.

As can be seen, when the camera is turned on, the electronic devicedescribed in implementations of the disclosure obtains, with the chipfor frame interpolation, the OSD data and the first video data collectedby the camera. The electronic device performs, with the chip for frameinterpolation, frame interpolation on the first video data to obtain thesecond video data. The electronic device displays the second video dataand the OSD data in the video window of the display screen. As such,frame interpolation is performed on the first video data, which canimprove smoothness of video pictures and avoid introduction of anegative display effect caused by the OSD data.

Referring to FIG. 1B, FIG. 1B is a schematic flowchart illustrating amethod for frame interpolation provided in implementations of thedisclosure. The method is applied to the electronic device illustratedin FIG. 1A, where the electronic device includes a camera. The methodfor frame interpolation includes the following.

101, when the camera is turned on, OSD data and first video datacollected by the camera are obtained.

102, frame interpolation is performed on the first video data to obtainsecond video data.

103, the second video data and the OSD data are displayed in a videowindow.

An application scenario of implementations of the disclosure is aspecific shooting scenario. Specifically, the specific shooting scenariomay be a scenario where a dynamic preview picture is displayed whenshooting with the camera. In this scenario, OSD data such as a focusframe will appear in the preview picture displayed in the video window.Alternatively, the specific shooting scenario may also be a shootingscenario of a live video. In this scenario, OSD data such as graphics,icons, and controls will appear in the live picture displayed in thevideo window. In the shooting scenario of these implementations, thecamera is turned on, and a display screen needs to display the firstvideo data collected by the camera. Since shaking of the camera maycause the preview picture or a shot picture of a live video to lag, theOSD data and the first video data collected by the camera can beobtained, and video frame interpolation is adopted to avoid lagging ofthe preview picture or the live video.

The OSD data herein refers to a specific glyph or graphic displayed inthe video window. The content of the OSD data varies with an applicationscenario. For example, the OSD data may be at least one of a pausebutton, a fast-forward button, a TV station logo in a video playbackscenario, a user icon in a live video scenario, a focus frame in a shotpreview picture, or a special effect component. In this solution, theOSD data may include at least one of a focus frame in a shot previewpicture, a special effect component in a shot picture in a live videoscenario, a pause button, etc., which is not limited herein.

In this solution, when displaying the first video data on a videointerface, in addition to displaying the first video data, theelectronic device may also display other display contents other than thefirst video data, that is, both a video layer and an OSD layer aredisplayed in the video window.

Optionally, operations at 101 of obtaining the OSD data and the firstvideo data collected by the camera include the following operations.

11, the first video data collected by the camera is obtained through afirst video data pipeline.

12, the OSD data is obtained through a second video data pipeline.

The first video data pipeline herein may be a vision interface group(VIG) data pipeline. The VIG data pipeline refers to a data pipelineprovided for video data in a YUV format. The VIG data pipeline can beused to transmit the first video data and image data in an RGB format.The second video data pipeline herein may be a VIG data pipeline or aspace division multiple access (SDMA) data pipeline. The SDMA datapipeline refers to a data pipeline provided for image data in an RGBformat, and can be used to transmit image data in an RGB format. YUV isa color model typically used as part of a color image pipeline, andcommonly used to describe file-formats (pixel formats) that are encodedusing YCbCr.

In an implementation, the chip for frame interpolation obtains the firstvideo data through the first video data pipeline, and obtains the OSDdata through the second video data pipeline. For example, the firstvideo data is transmitted to a first layer mixer (LM) through a firstVIG data pipeline, then to a first local tone mapping (LTM) layer, thento a first display post processing (DSPP) unit, then to a first displaystream compression (DSC), and finally to the chip for frameinterpolation through a first display serial interface (DSI) bus and afirst mobile industry processor interface (MIPI) bus. The OSD data istransmitted to a second LM through a second VIG data pipeline, then to asecond LTM layer, then to a second DSPP unit, then to a second DSC, andfinally to the chip for frame interpolation through a second DSI bus anda second MIPI bus. Alternatively, the OSD data is transmitted to a thirdLM via an SDMA data pipeline, and then to the chip for frameinterpolation from the third LM.

For example, referring to FIG. 1C, FIG. 1C is a schematic flowchartillustrating obtaining of the first video data and the OSD data providedin implementations of the disclosure. As illustrated in FIG. 1C, thefirst video data is transmitted to the first LM through the first VIGdata pipeline, then to the first LTM, then to the first DSPP unit, thento the first DSC, and finally to the chip for frame interpolationthrough the first DSI. Finally, the first video data is subjected toframe interpolation by the chip for frame interpolation to obtain secondvideo data, and the second video data obtained after frame interpolationis sent to the display screen. The OSD data is transmitted to the secondLM through the second VIG data pipeline, to encode transparencyinformation of the OSD data, specifically, to convert the transparencyinformation of the OSD data into RGB information, the RGB information istransmitted to the second LTM, then to the second DSPP unit, then to thesecond DSC, and finally to the chip for frame interpolation through thesecond DSI. Finally, the RGB information is decoded by the chip forframe interpolation to obtain original RGB information and thetransparency information of the OSD data. The transparency informationand the original RGB information are transmitted to the display screen,and the OSD data can be displayed in the video window according to thetransparency information. As such, the first video data and the OSD datacan be transmitted to the chip for frame interpolation through two datapipelines respectively.

Frame interpolation is performed on the first video data to obtain thesecond video data. Movement of the camera may cause lagging of a videopicture of the camera, which in turn affects a display effect of thevideo picture. If frame interpolation is performed on the video pictureincluding the first video data and the OSD data, frame interpolation onthe OSD data will have a negative effect. Therefore, frame interpolationcan be performed only on the first video data to eliminate motion jitterand motion trailing in the first video data in a moving scenario, toobtain the second video data obtained after frame interpolation, therebyimprove clarity of a video picture.

Optionally, operations at 102 of performing frame interpolation on thefirst video data to obtain the second video data include the followingoperations. 1201, if first attribute information of the first video datasatisfies a first preset condition, frame interpolation is performed onthe first video data to obtain the second video data. Operations at 103of displaying the second video data and the OSD data in the video windowinclude the following operations. 1202, if second attribute informationof the OSD data satisfies a second preset condition, the second videodata and the OSD data are displayed in the video window.

The first attribute information herein may include a first layer nameand a first layer format, and the second attribute information hereinmay include a second layer name and a second layer format.

In implementations of the disclosure, before performing frameinterpolation on the first video data, the first video data may berecognized first. If the first attribute information of the first videodata satisfies the first preset condition, the first video data isdetermined to be video data which requires frame interpolation. The OSDdata may also be recognized. If the second attribute information of theOSD data satisfies the second preset condition, the OSD data isdetermined to be data which does not require frame interpolation and canbe directly transmitted to the display screen for display. In thisimplementation, the first attribute information carried by the firstvideo data and the second attribute information carried by the OSD datacan be recognized to distinguish the first video data from the OSD data,and different processing can be performed respectively on the firstvideo data and the OSD data.

Optionally, before operations at 102, the method further includes thefollowing operations.

1203, if a first layer name is a video layer or a first layer format isa YUV format, the first attribute information of the first video data isdetermined to satisfy the first preset condition.

1204, if a second layer name is an OSD layer or a second layer format isan RGB format, the second attribute information of the OSD data isdetermined to satisfy the second preset condition.

The first attribute information may include the first layer name and thefirst layer format, and the second attribute information may include thesecond layer name and the second layer format. If the first layer nameis a video layer or the first layer format is a YUV format (e.g., aYCBCR_420 format), the first video data is determined to be video datarequiring frame interpolation. If the second layer name is an OSD layeror the second layer format is an RGB format, for example, a focus frameof a shot picture has an RGBA8888 format when shooting with the camera,the OSD data is determined to be data which does not require frameinterpolation and can be directly transmitted to the display screen fordisplay.

Optionally, operations at 102 of performing frame interpolation on thefirst video data to obtain the second video data include the followingoperations.

21, a motion vector computation is performed on the first video data toobtain a target vector.

22, frame interpolation is performed on the first video data accordingto the target vector to obtain the second video data.

The target vector herein may represent a motion displacement of a movingobject in the first video data. The target vector of the moving objectcan be determined, and frame interpolation can be performed on the firstvideo data according to the determined target vector to obtain thesecond video data. For example, the first video data contains a movingsoccer ball, a target vector of the moving soccer ball can bedetermined, and frame interpolation can be performed on the first videodata according to the determined target vector to obtain the secondvideo data.

Optionally, operations at 21 of performing the motion vector computationon the first video data to obtain the target vector include thefollowing operations.

2101, motion detection is performed on the first video data to obtainmultiple motion detection points.

2102, for each of the multiple motion detection points, a point motionvector of the motion detection point is obtained, to obtain multiplepoint motion vectors.

2103, if the multiple point motion vectors are the same, any of thepoint motion vectors is determined as the target vector.

In implementations of the disclosure, motion detection can be performedon the first video data to determine the multiple motion detectionpoints, where the multiple motion detection points are multiple featurepoints of a moving object in the first video data, and then for each ofthe multiple motion detection points, the point motion vector of themotion detection point is obtained, to obtain the multiple point motionvectors. If the multiple point motion vectors are the same, any of thepoint motion vectors is determined as the target vector.

Optionally, operations at 22 of performing frame interpolation on thefirst video data according to the target vector to obtain the secondvideo data include the following operations.

2201, a target video frame rate corresponding to a target video segmentto which any two adjacent video images in the first video data belongsis determined.

2202, a target frame-interpolation quantity n corresponding to thetarget video frame rate is determined according to a presetcorrespondence between video frame rates and frame-interpolationquantities, where n is a positive integer.

2203, motion compensation is performed according to the target vector toobtain n frame-interpolation images.

2204, the n frame-interpolation images are inserted between the any twoadjacent video images to obtain the second video data.

The motion compensation refers to a method of describing a differencebetween adjacent frames/images (where the term “adjacent” means adjacentin a coding relationship), specifically describing how each small blockin a previous frame moves to a certain position of a current frame. Thismethod can be used in video compression or used by a video codec toreduce spatial redundancy in video sequences, and can also be used inmotion interpolation.

In an implementation, the first video data includes multiple videoimages, and the first video data can be divided into multiple videosegments, and for each of the video segments, a video frame rate of thevideo segment can be determined. Therefore, in this solution, the targetvideo frame rate corresponding to the target video segment to which anytwo adjacent video images belongs can be determined. Considering thatthe larger the video frame rate, the clearer a video, and the smallerthe video frame rate, the less clear the video, the correspondencebetween video frame rates and frame-interpolation quantities can be setin advance, and the target frame-interpolation quantity n correspondingto the target video frame rate can be determined according to thecorrespondence. Moreover, the motion compensation can be performedaccording to the target vector to obtain the n frame-interpolationimages. Specifically, the target vector is divided into (n+1) offsetvectors according to the target frame-interpolation quantity n, and thenthe n frame-interpolation images are determined according to the (n+1)offset vectors and the two adjacent video images. Finally, the nframe-interpolation images are inserted between the any two adjacentvideo images to obtain the second video data. As such, frameinterpolation can be performed more accurately according to the framerate, which can improve smoothness of video data in the video window.

Optionally, in implementations of the disclosure, the method furtherincludes the following operations. 1021, the first video data is dividedinto multiple video segments. 1022, for each of the multiple videosegments, a video frame rate corresponding to the video segment isdetermined, to obtain multiple video frame rates. Operations at 102 ofperforming frame interpolation on the first video data to obtain thesecond video data include the following operations. 1023, if adifference between a maximum video frame rate and a minimum video framerate among the multiple video frame rates is smaller than a presetthreshold, frame interpolation is performed on the first video data toobtain the second video data.

Considering that stability of the frame rate will affect an effect offrame interpolation, and if frame rate changes greatly, frameinterpolation will cause blur in images, in implementations of thedisclosure, stability of the video frame rate of the first video data isdetected before frame interpolation is performed on the first videodata. Specifically, the first video data is divided into the multiplevideo segments, and the video frame rate corresponding to each of themultiple video segments is determined to obtain the multiple video framerates. If the difference between the maximum video frame rate and theminimum video frame rate among the multiple video frame rates is smallerthan the preset threshold, it indicates that the multiple video framerates have relatively small differences from one another, the frame rateof the first video data is relatively stable, and frame interpolationcan be performed on the first video data. On the other hand, if thedifference between the maximum video frame rate and the minimum videoframe rate among the multiple video frame rates is greater than or equalto the preset threshold, it indicates that the frame rate of the firstvideo data is not stable enough, and frame interpolation will not beperformed on the first video data.

Optionally, in implementations of the disclosure, the method furtherincludes the following operations.

1024, detect existence of a pop-up box in the video window.

1025, in response to absence of the pop-up box in the video window,frame interpolation is performed on the first video data.

In implementations of the disclosure, considering that when the pop-upbox exists in the video window, performing frame interpolation on thefirst video data may affect a display effect of the pop-up box,existence of the pop-up box in the video window can be detected beforeperforming frame interpolation on the first video data. If the pop-upbox exists in the video window, frame interpolation on the first videodata can be suspended. If no pop-up box exists in the video window,frame interpolation is performed on the first video data.

The second video data obtained after frame interpolation and the OSDdata are displayed on a display screen. The smoothness of the secondvideo data obtained after frame interpolation is higher than that of thefirst video data, and display of a focus frame in the video window willnot affect a display effect of the second video data.

Referring to FIG. 1D, FIG. 1D is a demonstration schematic diagramillustrating displaying of the second video data and the OSD dataprovided in implementations of the disclosure. When shooting with thecamera, a preview picture includes the second video data obtained afterframe interpolation and the OSD data (e.g., a focus frame, and an icon).The focus frame changes in the video window in response to a user'sfocusing operation, or the focus frame changes according to a positionof a moving object obtained by the electronic device through objectdetection. The smoothness of the second video data obtained after frameinterpolation is higher than that of the first video data, and displayof the focus frame in the video window will not affect the displayeffect of the second video data.

As can be seen, according to the method for frame interpolationdescribed in implementations of the disclosure, where the method isapplied to the electronic device including the camera, the OSD data andthe first video data collected by the camera are obtained when thecamera is turned on; frame interpolation is performed on the first videodata to obtain the second video data; the second video data and the OSDdata are displayed in the video window. As such, frame interpolation isperformed on the first video data, which can improve smoothness of videopictures and avoid introduction of a negative display effect caused bythe OSD data.

Consistent with the foregoing implementations described with referenceto FIG. 1B, referring to FIG. 2, FIG. 2 is a schematic flowchartillustrating a method for frame interpolation provided inimplementations of the disclosure. The method is applied to theelectronic device illustrated in FIG. 1A, where the electronic deviceincludes a camera. As illustrated in FIG. 2, the method for frameinterpolation includes the following.

201, when the camera is turned on, first video data collected by thecamera is obtained through a first video data pipeline.

202, OSD data is obtained through a second video data pipeline.

203, a motion vector computation is performed on the first video data toobtain a target vector.

204, a target video frame rate corresponding to a target video segmentto which any two adjacent video images in the first video data belongsis determined.

205, a target frame-interpolation quantity n corresponding to the targetvideo frame rate is determined according to a preset correspondencebetween video frame rates and frame-interpolation quantities, where n isa positive integer.

206, motion compensation is performed according to the target vector toobtain n frame-interpolation images.

207, the n frame-interpolation images are inserted between the any twoadjacent video images to obtain second video data.

208, the second video data and the OSD data are displayed in a videowindow.

For details of the operations 201-208, reference may be made to thecorresponding operations of the method for frame interpolation describedin FIG. 1B, which will not be repeated herein.

As can be seen, according to the method for frame interpolation ofimplementations of the disclosure, the first video data and the OSD datacan be obtained through two video data pipelines respectively, and onthe other hand, frame interpolation can be performed only on the firstvideo data. As such, smoothness of video pictures can be improved, andintroduction of a negative display effect caused by the OSD data can beavoided.

Consistent with the foregoing implementations described with referenceto FIG. 1B, referring to FIG. 3, FIG. 3 is a schematic flowchartillustrating a method for frame interpolation provided inimplementations of the disclosure. The method is applied to theelectronic device illustrated in FIG. 1A, where the electronic deviceincludes a camera. As illustrated in FIG. 3, the method for frameinterpolation includes the following.

301, when the camera is turned on, first video data collected by thecamera is obtained through a first video data pipeline.

302, OSD data is obtained through a second video data pipeline.

303, the first video data is divided into multiple video segments.

304, for each of the multiple video segments, a video frame ratecorresponding to the video segment is determined, to obtain multiplevideo frame rates.

305, whether a difference between a maximum video frame rate and aminimum video frame rate among the multiple video frame rates is smallerthan a preset threshold is detected.

306, if the difference is smaller than the preset threshold, detectexistence of a pop-up box in a video window.

307, in response to absence of the pop-up box in the video window, frameinterpolation is performed on the first video data to obtain secondvideo data.

308, the second video data and the OSD data are displayed in the videowindow.

For details of the operations 301-308, reference may be made to thecorresponding operations of the method for frame interpolation describedin FIG. 1B, which will not be repeated herein.

As can be seen, according to the method for frame interpolation ofimplementations of the disclosure, the video frame rate of the firstvideo data is detected first, and existence of the pop-up box is furtherdetected if the video frame rate is stable. In response to absence ofthe pop-up box, perform video frame interpolation. As such, an effect ofthe video frame interpolation can be ensured, smoothness of videopictures can be improved, and it is ensured that the effect of the videoframe interpolation is not affected by the pop-up box, the OSD data, orthe video frame rate.

Consistent with the foregoing implementations, referring to FIG. 4, FIG.4 is a schematic structural diagram illustrating an electronic deviceprovided in implementations of the disclosure. As illustrated in FIG. 4,the electronic device includes a processor, a camera, a memory, acommunication interface, and one or more programs. The programs arestored in the memory described above and configured to be executed bythe processor. In implementations of the disclosure, the programsinclude instructions which are operable to execute the followingoperations. OSD data and first video data collected by the camera areobtained when the camera is turned on. Frame interpolation is performedon the first video data to obtain second video data. The second videodata and the OSD data are displayed in a video window.

As can be seen, the electronic device (including the camera) ofimplementations of the disclosure obtains the OSD data and the firstvideo data collected by the camera are obtained when the camera isturned on, performs frame interpolation on the first video data toobtain the second video data, and displays the second video data and theOSD data in the video window. As such, frame interpolation is performedon the first video data, which can improve smoothness of video picturesand avoid introduction of a negative display effect caused by the OSDdata.

In a possible example, in terms of obtaining the OSD data and the firstvideo data collected by the camera, the instructions of the programs areoperable to execute the following operations. The first video datacollected by the camera is obtained through a first video data pipeline.The OSD data is obtained through a second video data pipeline.

In a possible example, in terms of performing frame interpolation on thefirst video data to obtain the second video data, the instructions ofthe programs are operable to execute the following operations. Oncondition that first attribute information of the first video datasatisfies a first preset condition, frame interpolation is performed onthe first video data to obtain the second video data. In terms ofdisplaying the second video data and the OSD data in the video window,the instructions of the programs are operable to execute the followingoperations. On condition that second attribute information of the OSDdata satisfies a second preset condition, the second video data and theOSD data are displayed in the video window.

In a possible example, the instructions of the programs are furtheroperable to execute the following operations. On condition that a firstlayer name is a video layer or a first layer format is a YUV format,determine that the first attribute information of the first video datasatisfies the first preset condition. On condition that a second layername is an OSD layer or a second layer format is an RGB format,determine that the second attribute information of the OSD datasatisfies the second preset condition.

In a possible example, in terms of performing frame interpolation on thefirst video data to obtain the second video data, the instructions ofthe programs are operable to execute the following operations. A motionvector computation is performed on the first video data to obtain atarget vector. Frame interpolation is performed on the first video dataaccording to the target vector to obtain the second video data.

In a possible example, in terms of performing the motion vectorcomputation on the first video data to obtain the target vector, theinstructions of the programs are operable to execute the followingoperations. Motion detection is performed on the first video data toobtain multiple motion detection points. For each of the multiple motiondetection points, a point motion vector of the motion detection point isobtained, to obtain multiple point motion vectors. On condition that themultiple point motion vectors are the same, any of the point motionvectors is determined as the target vector.

In a possible example, in terms of performing frame interpolation on thefirst video data according to the target vector to obtain the secondvideo data, the instructions of the programs are operable to execute thefollowing operations. A target video frame rate corresponding to atarget video segment to which any two adjacent video images in the firstvideo data belongs is determined. A target frame-interpolation quantityn corresponding to the target video frame rate is determined accordingto a preset correspondence between video frame rates andframe-interpolation quantities, where n is a positive integer. Motioncompensation is performed according to the target vector to obtain nframe-interpolation images. The n frame-interpolation images areinserted between the any two adjacent video images to obtain the secondvideo data.

In a possible example, the instructions of the programs are furtheroperable to execute the following operations. The first video data isdivided into multiple video segments. For each of the multiple videosegments, a video frame rate corresponding to the video segment isdetermined, to obtain multiple video frame rates. In terms of performingframe interpolation on the first video data to obtain the second videodata, the instructions of the programs are operable to execute thefollowing operations. On condition that a difference between a maximumvideo frame rate and a minimum video frame rate among the multiple videoframe rates is smaller than a preset threshold, frame interpolation isperformed on the first video data.

In a possible example, the instructions of the programs are furtheroperable to detect existence of a pop-up box in the video window. Interms of performing frame interpolation on the first video data toobtain the second video data, the instructions of the programs areoperable to execute the following operations. In response to absence ofthe pop-up box in the video window, frame interpolation is performed onthe first video data.

In a possible example, the instructions of the programs are furtheroperable to execute the following operations. The first video data isdivided into multiple video segments. For each of the multiple videosegments, a video frame rate corresponding to the video segment isdetermined, to obtain multiple video frame rates. On condition that adifference between a maximum video frame rate and a minimum video framerate among the multiple video frame rates is smaller than a presetthreshold, detect existence of a pop-up box in the video window. Interms of performing frame interpolation on the first video data toobtain the second video data, the instructions of the programs areoperable to execute the following operations. In response to absence ofthe pop-up box in the video window, frame interpolation is performed onthe first video data.

The foregoing technical solutions of the implementations of thedisclosure are mainly described from the viewpoint of execution of themethod. It can be understood that, in order to implement the abovefunctions, the electronic device includes hardware structures and/orsoftware modules corresponding to the respective functions. Thoseskilled in the art should readily recognize that, in combination withexemplary units and scheme steps or operations described in theimplementations disclosed herein, the disclosure can be implemented inhardware or a combination of hardware and computer software. Whether afunction is implemented by way of hardware or computer software drivinghardware depends on the particular application and design constraints ofthe technical solutions. Those skilled in the art may use differentmethods to implement the described functions for each particularapplication, but such implementation should not be considered as beyondthe scope of the disclosure.

According to the implementations of the disclosure, functional units maybe divided for the electronic device in accordance with the foregoingmethod examples. For example, functional units may be divided accordingto corresponding functions, and two or more functions may be integratedinto one processing unit. The above-mentioned integrated unit can beimplemented in the form of hardware or software functional units. Itshould be noted that the division of units in the implementations of thedisclosure is schematic and is merely a logical function division; theremay be other division manners in actual implementation.

FIG. 5 is a block diagram illustrating functional units of a device 500for frame interpolation provided in implementations of the disclosure.The device 500 for frame interpolation is applied to an electronicdevice, where the electronic device includes a camera. The device 500includes an obtaining unit 501, a processing unit 502, and a displayunit 503. The obtaining unit 501 is configured to obtain OSD data andfirst video data collected by the camera when the camera is turned on.The processing unit 502 is configured to perform frame interpolation onthe first video data to obtain second video data. The display unit 503is configured to display the second video data and the OSD data in avideo window.

As can be seen, according to the device for frame interpolationdescribed in implementations of the disclosure, where the device forframe interpolation is applied to an electronic device including acamera, the OSD data and the first video data collected by the cameraare obtained when the camera is turned on; frame interpolation isperformed on the first video data to obtain the second video data; thesecond video data and the OSD data are displayed in the video window. Assuch, frame interpolation is performed on the first video data, whichcan improve smoothness of video pictures and avoid introduction of anegative display effect caused by the OSD data.

In a possible example, the obtaining unit 501 configured to obtain theOSD data and the first video data collected by the camera isspecifically configured to: obtain the first video data collected by thecamera through a first video data pipeline; and obtain the OSD datathrough a second video data pipeline.

In a possible example, the processing unit 502 is further configured toperform frame interpolation on the first video data to obtain the secondvideo data, on condition that first attribute information of the firstvideo data satisfies a first preset condition. The display unit 503 isfurther configured to display the second video data and the OSD data inthe video window, on condition that second attribute information of theOSD data satisfies a second preset condition.

In a possible example, the first attribute information includes a firstlayer name and a first layer format, the second attribute informationincludes a second layer name and a second layer format, and theprocessing unit 502 is further configured to: determine that the firstattribute information of the first video data satisfies the first presetcondition, on condition that the first layer name is a video layer orthe first layer format is a YUV format; and determine that the secondattribute information of the OSD data satisfies the second presetcondition, on condition that the second layer name is an OSD layer orthe second layer format is an RGB format.

In a possible example, the processing unit 502 configured to performframe interpolation on the first video data to obtain the second videodata is specifically configured to: perform a motion vector computationon the first video data to obtain a target vector; and perform frameinterpolation on the first video data according to the target vector toobtain the second video data.

In a possible example, the processing unit 502 configured to perform themotion vector computation on the first video data to obtain the targetvector is specifically configured to: perform motion detection on thefirst video data to obtain multiple motion detection points; for each ofthe multiple motion detection points, obtain a point motion vector ofthe motion detection point, to obtain multiple point motion vectors; anddetermine any of the point motion vectors as the target vector, oncondition that the multiple point motion vectors are the same.

In a possible example, the processing unit 502 configured to performframe interpolation on the first video data according to the targetvector to obtain the second video data is specifically configured to:determine a target video frame rate corresponding to a target videosegment to which any two adjacent video images in the first video databelongs; determine a target frame-interpolation quantity n correspondingto the target video frame rate according to a preset correspondencebetween video frame rates and frame-interpolation quantities, where n isa positive integer; perform motion compensation according to the targetvector to obtain n frame-interpolation images; and insert the nframe-interpolation images between the any two adjacent video images toobtain the second video data.

In a possible example, the processing unit 502 is further configured to:divide the first video data into multiple video segments; for each ofthe multiple video segments, determine a video frame rate correspondingto the video segment, to obtain multiple video frame rates; and performframe interpolation on the first video data, on condition that adifference between a maximum video frame rate and a minimum video framerate among the multiple video frame rates is smaller than a presetthreshold.

In a possible example, the processing unit 502 is further configured to:detect existence of a pop-up box in the video window; and perform frameinterpolation on the first video data, in response to absence of thepop-up box in the video window.

It can be understood that, a function of each program module of thedevice for frame interpolation of implementations can be implementedaccording to the method of the foregoing method implementations, and aspecific implementation process can refer to the relevant descriptionsof the foregoing method implementations, which will not be repeatedherein.

Implementations of the disclosure further provide a non-transitorycomputer-readable storage medium. The non-transitory computer-readablestorage medium stores computer programs for electronic data interchange.The computer programs are operable with a computer to execute all orpart of the operations of the method described in the foregoing methodimplementations. The “Computer” referred to herein includes anelectronic device.

Implementations of the disclosure further provide a computer programproduct. The computer program product includes a non-transitorycomputer-readable storage medium configured to store computer programs.The computer programs are operable with a computer to execute all orpart of the operations of the method described in the foregoing methodimplementations. The computer program product may be a softwareinstallation package. The “Computer” referred to herein includes anelectronic device.

It is to be noted that, for the sake of simplicity, the foregoing methodimplementations are described as a series of action combinations,however, it will be appreciated by those skilled in the art that thedisclosure is not limited by the sequence of actions described. That isbecause that, according to the disclosure, certain steps or operationsmay be performed in other order or simultaneously. Besides, it will beappreciated by those skilled in the art that the implementationsdescribed in the specification are exemplary implementations, and theactions and modules involved are not necessarily essential to thedisclosure.

In the foregoing implementations, the description of each implementationhas its own emphasis. For the parts not described in detail in oneimplementation, reference may be made to related descriptions in otherimplementations.

In the implementations of the disclosure, it should be understood that,the device disclosed in implementations provided herein may beimplemented in other manners. For example, the device/apparatusimplementations described above are merely illustrative; for instance,the division of the unit is only a logical function division and therecan be other manners of division during actual implementations, forexample, multiple units or assemblies may be combined or may beintegrated into another system, or some features may be ignored,omitted, or not performed. In addition, coupling or communicationconnection between each illustrated or discussed component may be directcoupling or communication connection, or may be indirect coupling orcommunication among devices or units via some interfaces, and may beelectrical connection or other forms of connection.

The units described as separate components may or may not be physicallyseparated, the components illustrated as units may or may not bephysical units, that is, they may be in the same place or may bedistributed to multiple network elements. Part or all of the units maybe selected according to actual needs to achieve the purpose of thetechnical solutions of the implementations.

In addition, the functional units in various implementations of thedisclosure may be integrated into one processing unit, or each unit maybe physically present, or two or more units may be integrated into oneunit. The above-mentioned integrated unit can be implemented in the formof hardware or a software function unit.

The integrated unit may be stored in a computer readable memory when itis implemented in the form of a software functional unit and is sold orused as a separate product. Based on such understanding, the technicalsolutions of the disclosure essentially, or the part of the technicalsolutions that contributes to the related art, or all or part of thetechnical solutions, may be embodied in the form of a software productwhich is stored in a memory and includes instructions for causing acomputer device (which may be a personal computer, a server, or anetwork device and so on) to perform all or part of the operations ofthe method described in the various implementations of the disclosure.The memory includes various medium capable of storing program codes,such as a universal serial bus (USB), a read-only memory (ROM), a RAM, aremovable hard disk, Disk, compact disc (CD), or the like.

It will be understood by those of ordinary skill in the art that all orpart of the operations of the method of the implementations describedabove may be accomplished by means of a program to instruct associatedhardware, the program may be stored in a computer-readable memory, whichmay include a flash memory, a ROM, a RAM, Disk or CD, and so on.

While the implementations of the disclosure are described in detailabove, the principles and implementations of the disclosure aredescribed in connection with illustrative implementations, it is to beunderstood that foregoing implementations are merely used to helpunderstand the method and the core idea of the disclosure. As will occurto those skilled in the art, the disclosure is susceptible to variousmodifications and changes without departing from the spirit andprinciple of the disclosure. Therefore, the disclosure is not to belimited to the disclosed implementations.

What is claimed is:
 1. A method for frame interpolation, applied to anelectronic device comprising a camera, the method comprising: obtainingon-screen display (OSD) data and first video data collected by thecamera; obtaining second video data by performing frame interpolation onthe first video data; and displaying the second video data and the OSDdata in a video window.
 2. The method of claim 1, wherein obtaining theOSD data and the first video data collected by the camera comprises:obtaining the first video data collected by the camera through a firstvideo data pipeline; and obtaining the OSD data through a second videodata pipeline.
 3. The method of claim 1, wherein obtaining the secondvideo data by performing frame interpolation on the first video datacomprises: obtaining the second video data by performing frameinterpolation on the first video data, on condition that first attributeinformation of the first video data satisfies a first preset condition;and wherein displaying the second video data and the OSD data in thevideo window comprises: displaying the second video data and the OSDdata in the video window, on condition that second attribute informationof the OSD data satisfies a second preset condition.
 4. The method ofclaim 3, wherein the first attribute information comprises a first layername and a first layer format, the second attribute informationcomprises a second layer name and a second layer format, and the methodfurther comprises: determining that the first attribute information ofthe first video data satisfies the first preset condition, on conditionthat the first layer name is a video layer or the first layer format isa YUV format; and determining that the second attribute information ofthe OSD data satisfies the second preset condition, on condition thatthe second layer name is an OSD layer or the second layer format is anRGB format.
 5. The method of claim 1, wherein obtaining the second videodata by performing frame interpolation on the first video datacomprises: obtaining a target vector by performing a motion vectorcomputation on the first video data; and obtaining the second video databy performing frame interpolation on the first video data according tothe target vector.
 6. The method of claim 5, wherein obtaining thetarget vector by performing the motion vector computation on the firstvideo data comprises: obtaining a plurality of motion detection pointsby performing motion detection on the first video data; for each of theplurality of motion detection points, obtaining a point motion vector ofthe motion detection point, to obtain a plurality of point motionvectors; and determining any of the point motion vectors as the targetvector, on condition that the plurality of point motion vectors are thesame.
 7. The method of claim 5, wherein obtaining the second video databy performing frame interpolation on the first video data according tothe target vector comprises: determining a target video frame ratecorresponding to a target video segment to which any two adjacent videoimages in the first video data belongs; determining a targetframe-interpolation quantity n corresponding to the target video framerate according to a preset correspondence between video frame rates andframe-interpolation quantities, wherein n is a positive integer;obtaining n frame-interpolation images by performing motion compensationaccording to the target vector; and obtaining the second video data byinserting the n frame-interpolation images between the any two adjacentvideo images.
 8. The method of claim 1, wherein the method furthercomprises: dividing the first video data into a plurality of videosegments; and for each of the plurality of video segments, determining avideo frame rate corresponding to the video segment, to obtain aplurality of video frame rates; and wherein obtaining the second videodata by performing frame interpolation on the first video datacomprises: obtaining the second video data by performing frameinterpolation on the first video data, on condition that a differencebetween a maximum video frame rate and a minimum video frame rate amongthe plurality of video frame rates is smaller than a preset threshold.9. The method of claim 1, wherein the method further comprises:detecting existence of a pop-up box in the video window; and whereinobtaining the second video data by performing frame interpolation on thefirst video data comprises: obtaining the second video data byperforming frame interpolation on the first video data, in response toabsence of the pop-up box in the video window.
 10. The method of claim1, wherein the method further comprises: dividing the first video datainto a plurality of video segments; for each of the plurality of videosegments, determining a video frame rate corresponding to the videosegment, to obtain a plurality of video frame rates; and detectingexistence of a pop-up box in the video window, on condition that adifference between a maximum video frame rate and a minimum video framerate among the plurality of video frame rates is smaller than a presetthreshold; and obtaining the second video data by performing frameinterpolation on the first video data comprises: obtaining the secondvideo data by performing frame interpolation on the first video data, inresponse to absence of the pop-up box in the video window.
 11. Anelectronic device, comprising: a camera, a display screen, and a chipfor frame interpolation coupled with the camera and the display screen,and the chip for frame interpolation being configured to: obtainon-screen display (OSD) data and first video data collected by thecamera; obtain second video data by performing frame interpolation onthe first video data; and control the second video data and the OSD datato be displayed in a video window of the display screen.
 12. Theelectronic device of claim 11, wherein the chip for frame interpolationconfigured to obtain the OSD data and the first video data collected bythe camera is configured to: obtain the first video data collected bythe camera through a first video data pipeline; and obtain the OSD datathrough a second video data pipeline.
 13. The electronic device of claim11, wherein: the chip for frame interpolation configured to obtain thesecond video data by performing frame interpolation on the first videodata is configured to: obtain the second video data by performing frameinterpolation on the first video data, on condition that first attributeinformation of the first video data satisfies a first preset condition;and the chip for frame interpolation configured to control the secondvideo data and the OSD data to be displayed in the video window of thedisplay screen is configured to: control the second video data and theOSD data to be displayed in the video window of the display screen, oncondition that second attribute information of the OSD data satisfies asecond preset condition.
 14. The electronic device of claim 13, whereinthe first attribute information comprises a first layer name and a firstlayer format, the second attribute information comprises a second layername and a second layer format, and the chip for frame interpolation isfurther configured to: determine that the first attribute information ofthe first video data satisfies the first preset condition, on conditionthat the first layer name is a video layer or the first layer format isa YUV format; and determine that the second attribute information of theOSD data satisfies the second preset condition, on condition that thesecond layer name is an OSD layer or the second layer format is an RGBformat.
 15. The electronic device of claim 11, wherein the chip forframe interpolation configured to obtain the second video data byperforming frame interpolation on the first video data is configured to:obtain a target vector by performing a motion vector computation on thefirst video data; and obtain the second video data by performing frameinterpolation on the first video data according to the target vector.16. The electronic device of claim 15, wherein the chip for frameinterpolation configured to obtain the target vector by performing themotion vector computation on the first video data is configured to:obtain a plurality of motion detection points by performing motiondetection on the first video data; for each of the plurality of motiondetection points, obtain a point motion vector of the motion detectionpoint, to obtain a plurality of point motion vectors; and determine anyof the point motion vectors as the target vector, on condition that theplurality of point motion vectors are the same.
 17. The electronicdevice of claim 15, wherein the chip for frame interpolation configuredto obtain the second video data by performing frame interpolation on thefirst video data according to the target vector is configured to:determine a target video frame rate corresponding to a target videosegment to which any two adjacent video images in the first video databelongs; determine a target frame-interpolation quantity n correspondingto the target video frame rate according to a preset correspondencebetween video frame rates and frame-interpolation quantities, wherein nis a positive integer; obtain n frame-interpolation images by performingmotion compensation according to the target vector; and obtain thesecond video data by inserting the n frame-interpolation images betweenthe any two adjacent video images.
 18. The electronic device of claim11, wherein the chip for frame interpolation configured to obtain thesecond video data by performing frame interpolation on the first videodata is configured to: divide the first video data into a plurality ofvideo segments; for each of the plurality of video segments, determine avideo frame rate corresponding to the video segment, to obtain aplurality of video frame rates; and obtain the second video data byperforming frame interpolation on the first video data, on conditionthat a difference between a maximum video frame rate and a minimum videoframe rate among the plurality of video frame rates is smaller than apreset threshold.
 19. The electronic device of claim 11, wherein thechip for frame interpolation configured to obtain the second video databy performing frame interpolation on the first video data is configuredto: detect existence of a pop-up box in the video window; and obtain thesecond video data by performing frame interpolation on the first videodata, in response to absence of the pop-up box in the video window. 20.A non-transitory computer-readable storage medium storing computerprograms, the computer programs comprising program instructions which,when executed by a processor, cause the processor to carry out actions,comprising: obtaining on-screen display (OSD) data and first video datacollected by a camera; obtaining second video data by performing frameinterpolation on the first video data; and displaying the second videodata and the OSD data in a video window.